package com.atguigu.springcloud.service;

import org.springframework.cloud.stream.annotation.EnableBinding;
import org.springframework.cloud.stream.messaging.Source;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.support.MessageBuilder;

import javax.annotation.Resource;
import java.util.UUID;

/**
 * 实现类
 */
@EnableBinding(Source.class) // 可以理解为是一个消息的   发送管道  的定义
public class IMessageProviderImpl implements IMessageProvider{

    @Resource
    private MessageChannel output; // 消息的发送管道
    /**
     * 发送消息
     * @return
     */
    @Override
    public String send() {
        String serial = UUID.randomUUID().toString();
        this.output.send(MessageBuilder.withPayload(serial).build()); // 创建并发送消息
        System.out.println("***serial: "+serial);

        return serial;
    }
}
